#ifndef QIHMODULE_H
#define QIHMODULE_H

#include <QObject>
#include "ihcore_global.h"

class IHCORE_EXPORT QihModule : public QObject
{
	Q_OBJECT

public:
	QihModule(QObject *parent);
	~QihModule();

public:
	// methods
	void start();
	void stop();
	bool started() const { return _started; };

	// statistic information
	// TODO: Application* getApplication();
protected:
	virtual void doStart() = 0;
	virtual void doStop() = 0;

private:
	bool _started;
	
};

#endif // QIHMODULE_H
